Two trends in networked computing are (1) the increasing use of hierarchical information systems, such as the eXtensible Markup Language (XML), for information exchange among networked applications and (2) the continuing and increasing use of relational database systems for managing businesses. These trends are likely to continue and accelerate in the future.
XML is widely used for exchanging hierarchical information in networked systems, such as local area networks, wide area networks, and the Internet. XML is one of the most important and most widely accepted standards to disseminate data and information between different applications over local networks and the Internet. XML has several characteristics that make it an attractive language for exchanging information among networked applications. First, XML is a text based language, so XML data streams are easily transported across systems with incompatible binary formats. Second, since information represented in XML is organized hierarchically, it allows a user to easily understand the relationships among the different types of information contained in an XML data stream, i.e., XML can transfer information about complex data relationships in a single, easy to understand form.
Relational database systems provide access to a significant percentage of all the information stored in modern business information processing systems. Relational database systems also allow users of the data to easily access and process the information stored in the systems from both local and remote locations. Unfortunately, a database query executed against a relational database returns information in the form of rowset(s) encoded either in binary or in nonstandard character format.
A large amount of both the existing and new data that is and will be disseminated in such ways will be stored in database systems. It is therefore important that the database system provides the programmer with the means to deliver XML for any query running against the database in this context. There is also a need to provide the programmer with the means to formulate such a query in a simple, and easily understood manner.
For these and other reasons there is a need for the present invention.